package com.czxy.repository;

import com.czxy.domain.Item;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import java.util.List;
/**
 * @auther Created by yuanxinqi
 *  ElasticsearchRepository<Item,Long>
 *      第一个参数：实体类
 *      第二个参数：实体类对应的主键类型
 *
 */
public interface ItemRepository extends ElasticsearchRepository<Item,Long> {
    /**
     * 根据价格区间搜索
     */
    public List<Item> findByPriceBetween(Double price1,Double price2);


    /**
     * 搜索名字中带有   手机   的item
     * findByTitle是模糊搜索还是精确匹配？
     *  1. 模糊搜索的话，输入手机-->带手机的搜索出来
     *  2. 精确匹配的电话，输入手机--> 没有结果
     * 结论：模糊匹配！！！
     */
    public List<Item> findByTitle(String title);


    /**
     * 价格在xxx-yyy区间内的，并且根据价格倒序排序输出
     *
     */
    public List<Item> findByPriceBetweenOrderByPriceDesc(Double price1,Double price2);

    /**
     *
     * @param title 模糊匹配
     * @param price 精确匹配
     * @return
     */
    public List<Item> findByTitleAndPrice(String title,Double price);


    /**
     * 查找iphone手机，并且根据价格倒序排序
     * 解法一：findByTitleOrderByPriceDesc(String title)
     *
     *
     */
    public List<Item> findByTitleOrderByPriceDesc(String title);


    /**
     * 查找华为品牌的手机，名字带有20，价格在 1000-20000并且价格价格倒序输出
     *
     */
    public List<Item> findByBrandAndTitleAndPriceBetweenOrderByPriceDesc(String brand,String title,Double price1,Double price2);
}